package com.robusta.spreadsheet.model;

/**
 * Used to describe a worksheet in a workbook.
 * Provides worksheet metadata.
 * @author sudhir ravindramohan sudhirbits@gmail.com
 * @since 1.0
 */
public interface WorksheetTemplate {
    /**
     * Index of the sheet in the workbook described by this template.
      * @return index
     */
    int getSheetIndex();

    /**
     * Index of the row from which meaningful content starts.
     * The first row will hold the header content. The content
     * rows start from the next row i.e. getHeaderRowIndex + 1
     * Note: The first logical row starts with an index of 0.
     * @return header row index
     */
    int getHeaderRowIndex();

    /**
     * Index of the column from which meaningful content starts.
     * This allows for having one or more non data rows which will
     * be ignored by the worksheet.
     * The first logical column starts with an index of 0.
     * @return column start index
     */
    int getStartColumnIndex();
}
